package com.processmining.service;

import java.io.File;
import java.io.FileInputStream;
import java.util.List;


import com.github.pagehelper.PageInfo;
import com.processmining.entity.Log;
import com.processmining.entity.RawLog;



/**
 * 原始日志业务层
 * @author hxuhao
 *
 */

public interface IRawLogService extends ILogService{

		
	/**
	 * 按日志名搜索原始日志 （分页）
	 * @param pageNum	当前页数
	 * @param pageSize	页面条数
	 * @param info 日志名，若为空则返回整个列表
	 * @param uid 用户id 
	 * @return 除其他用户的不共享日志的日志列表
	 */
	public PageInfo<RawLog> searchByName(int pageNum,int pageSize,String info,Integer uid);
	
	/**
	 * 批量查询
	 * @param rawlogIds
	 * @return
	 */
	public List<RawLog> searchByPKList(List<Integer> rawlogIds,Integer uid);
	
	
	
	/**
	 * 规范化
	 * @param id		原始日志id
	 * @param uid 		操作用户id
	 * @param formats	数据项格式配置
	 * @param timeNames 	时间项整合
	 * @param dataNames		数据项整合
	 * @param oriitemSeparator		原数据项分割符
	 * @param orinameValSeparator	原名称值分隔符
	 * @param orinulVal				原空值
	 * @param targetitemSeparator		目标数据项分隔符
	 * @param targetnameValSeparator	目标数据项分隔符
	 * @param targetnulVal				目标空值
	 * @return 规范化日志
	 * @throws Exception 
	 */
	public boolean convertToNormLog(Integer id, Integer uid, String formats, String timeNames, String targetTimeName,
			String dataNames, String oriitemSeparator, String orinameValSeparator, String orinulVal,
			String targetitemSeparator, String targetnameValSeparator, String targetnulVal) throws Exception;
	
	
	
}
